KVM 上の DataSync Agent をホストと同一ネットワークに接続する構成を絵に書いてみた

KVM 上の DataSync Agent をホストと同一ネットワークに接続する構成を絵に書いてみた

絵に書いた方がわかりやすいと思いまして。
Clock Icon2025.01.13

はじめに

AWS DataSync Agent を KVM 上の仮想マシンで動作させる場合、デフォルトではホストマシンとは異なるネットワークセグメントに配置されます。本記事では、DataSync Agent をホストマシンと同一ネットワークに接続する方法を解説します。

KVM-Bridge.png

デフォルトの仮想ブリッジについて

KVM デフォルトの仮想ブリッジ(virbr0)は NAT が有効になっています。 そのため、DataSync Agent(仮想マシン)はホストとは異なるネットワークセグメントに配置された構成を取ります。

KVM-Bridge(4).png

仮想マシンを同一ネットワークセグメントに配置するには

新規の仮想ブリッジを作成する

NAT をしない仮想ブリッジ(br0)を新規に作成する必要があります。

  • ホストマシンの物理 NIC は仮想ブリッジに接続
  • DataSync Agent(仮想マシン)は、TAP デバイスを介して仮想ブリッジに接続

ブリッジなしの状態

仮想ブリッジの作成を簡単に説明すると以下のステップが必要です。

  1. 仮想ブリッジ(br0)の作成
  2. 物理 NIC を仮想ブリッジへの接続設定(Netplan)
  3. ネットワーク設定の反映

詳細な手順は以下のブログをご参照ください。

https://dev.classmethod.jp/articles/how-to-install-and-configure-kvm-on-ubuntu2404/

IP アドレスの割り当てについて

仮想ブリッジを作成すると、以下で IP アドレスが必要になります。

  1. 仮想ブリッジで 1 つ
  2. 仮想マシンの台数分

物理 NIC には IP アドレスは振らず、物理 NIC から接続される仮想ブリッジに IP アドレスを振ります。

ブリッジ作成後の状態

設定ファイルのサンプル

実際にホストマシンの Netplan の設定ファイルです。

/etc/netplan/1_kvm.yaml
network:
  version: 2
  ethernets:
    enp3s0: # 構成図の物理 NIC2 に該当する設定
      dhcp4: false
      dhcp6: false
  bridges:
    br0: # 構成図の仮想ブリッジに該当する設定
      interfaces: [enp3s0] # 物理 NIC を指定
      addresses: [192.168.20.160/24] # 固定の IP アドレスを付与
      routes:
        - to: default
          via: 192.168.20.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]
      parameters:
        stp: false
      dhcp4: false
      dhcp6: false

ホストマシンへリモート接続するときは

仮想ブリッジ(br0)の IP アドレスでホストマシンに SSH 接続はできます。

KVM-Bridge-SSH(2).png

詳細は以下を参照してください。

https://dev.classmethod.jp/articles/validating-kvm-bridge-ip-address-for-host-ssh-access/

物理 NIC1 を同ネットワークセグメントに接続しなくても良いですが、仮想ブリッジの設定を変更したときに設定ミスなどの影響で、リモート接続できなくリスクはあります。同ネットワークか、メンテナンス、管理用に用意されている別のネットワークがあればそちらに接続しておくのが良いでしょう。

通信フロー

まとめ

  • KVM のデフォルト仮想ブリッジ(virbr0)では NAT が有効になっています
  • ホストと同一ネットワークに接続するには、新規の仮想ブリッジ(br0)が必要です
  • 仮想ブリッジと各仮想マシンに IP アドレスの割り当てが必要です

おわりに

クラウドサービスを利用する機会が多くなり、LAN ポートや LAN ケーブルについて考えることがめっきり減りました。昔勉強したこともだいぶ忘れてしまいました。

参考

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.